System and method for updating dataset versions resident on a wireless device

ABSTRACT

A system and method for selectively updating the versions of stored datasets on a wireless device that selectively communicates to a wireless network and downloads datasets, such as software applications and information, from download servers on the wireless network. The wireless device has a resident dataset version summary file that identifies the version of each resident dataset, and upon the wireless device attempting to communicate with the download server, the wireless device compares the version of each specific resident dataset listed in the resident dataset version summary file with the version of downloadable datasets resident on the download server to thereby determine if the version of a wireless device resident dataset is different from the version of a download server resident dataset. If the download server resident dataset is more recent, the wireless device can download it to overwrite the wireless device resident dataset.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application for patent claims the benefit of U.S.application Ser. No. 10/061,875, entitled “SYSTEM AND METHOD FORUPDATING DATASET VERSIONS RESIDENT ON A WIRELESS DEVICE,” filed Jan. 31,2002, assigned to the assignee hereof, and expressly incorporated hereinby reference in its entirety.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention generally relates to wireless networks andcomputer communications across wireless networks. More particularly, theinvention relates to the updating of the version of an application ordata resident on a wireless device when the wireless device connects toa download server that has a more recent version of the wireless deviceresident application or data.

2. Description of the Related Art

Wireless devices, such as cellular telephones, communicate packetsincluding voice and data over a wireless network. Cellular telephonesthemselves are being manufactured with increased computing capabilitiesand are becoming tantamount to personal computers and hand-held personaldigital assistants (“PDAs”). Some wireless devices, such as selectcellular telephones, may have an installed application programmingcomputer platform that allows software developers to create softwareapplications that operate on the wireless device.

It is anticipated that systems and methods will be developed to downloadapplications to a wireless device. Accordingly, it is desirable to havea system and method by which applications and data on a wireless devicemay be updated efficiently, taking into account the environment,constraints and impacts of transferring information in a wirelessnetwork.

SUMMARY OF THE INVENTION

Embodiments of the invention include systems and methods for selectivelyupdating the versions of stored datasets on a wireless device thatselectively communicates to a wireless network and downloads datasets,such as software applications, information and other data, from downloadservers on the wireless network. One system includes one or morewireless devices where each wireless device has a computer platform withat least one data file resident thereon, and the wireless device is inselective communication to a wireless network and downloads datasetsfrom download servers across the wireless network. The computer platformof the wireless device further has a resident dataset version summaryfile that identifies the version of each resident dataset, and theversion summary file is updated whenever a resident dataset is updated.This system also includes one or more download servers that are inselective communication to the wireless network and are each selectivelyin communication with the one or more wireless devices and selectivelydownloading datasets thereto, with each download server updating itsresident datasets that are selectively downloadable to wireless devicesand recording the version of each specific updated downloaded serverresident dataset.

In one embodiment, when the wireless device attempts to communicate witha download server across the wireless network, the computer platform ofthe wireless device compares the version of each specific residentdataset listed in the resident dataset version summary file with theversion of the downloadable dataset resident on the download server tothereby determine if the version of the wireless device resident datasetis different from the version of the download server resident dataset.The stored record indicating the version of the download server residentdataset can be held in a update summary file resident on the downloadserver, and upon a wireless device attempting to communicate with atleast one download server across the wireless network, the computerplatform of the wireless device comparing the update file of thedownload server to the version summary file of the wireless device tothereby determine if the versions of the wireless device residentdatasets are different from the versions of the download server residentdatasets. The simple comparison of the update summary files will informthe wireless device if a more recent version of any of the wirelessdevice datasets is present on the download server without needing tomake the comparison sequentially, i.e., comparing dataset to dataset.

After the wireless device determines the version of the wireless deviceresident dataset is different from the version of the download serverresident dataset, the computer platform of the wireless device downloadsthe download server resident dataset to supplant the wireless deviceresident version and be executable on the wireless device. To downloadthe more recent version of the dataset from the download server, thecomputer platform of the wireless device can prompt the user of thewireless device to communicate with the download server to download thedifferent version of the download server resident dataset to beexecutable on the wireless device. This function is especially useful ifthe owner of the wireless device will be charged for the networkconnection time to download the new version of the application or datafrom the download server. Otherwise, the computer platform of thewireless device can automatically download the different download serverresident dataset to be executable on the wireless device once the newerversion of the dataset is detected on the download server.

A method for selectively updating the versions of stored datasets on awireless device includes communicating from the wireless device to thedownload server across the wireless network, comparing, at the computerplatform of the wireless device, the version of each specific residentdataset listed in the resident dataset version summary file with theversion of the downloadable dataset resident on the download server; anddetermining if the version of the wireless device resident dataset isdifferent from the version of the download server resident dataset basedupon the comparison. The method may include, upon determining theversion of the wireless device resident dataset is different from theversion of the download server resident dataset, downloading thedifferent download server resident dataset to the computer platform ofthe wireless device from the download server to be executable on thewireless device. To download the new version on the download server, themethod can include prompting the user of the wireless device tocommunicate with the download server to download the different versionof the download server resident dataset to be executable on the wirelessdevice or such downloading can be done automatically upon determiningthe download server resident dataset is a different version than thewireless device resident dataset.

If the stored records indicating the version of the download serverresident dataset is held in a version update summary file resident onthe download server, comparing the wireless device and download serverdatasets may be performed by comparing at the computer platform of thewireless device the version update summary file of the download serverto the version summary file of the wireless device to thereby determineif the versions of the wireless device resident datasets are differentfrom the versions of the download server resident datasets.

The above method may include a wireless device that can perform theabove functions in creating and comparing wireless device versionsummary file with an update summary file of the download server todetermine if the versions of the wireless device resident datasets aredifferent from the versions of the download server resident datasets.Further, because the method is executable on the computer platform ofthe wireless device, the method may include a program, in a computerreadable medium, that directs a wireless device having a computerplatform to perform the steps of the method.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a representative diagram of a wireless network and thecomputer hardware and wireless devices that can be used within thesystem.

FIG. 2 is a block diagram of the hardware components of the wirelessnetwork providing communication between different wireless devices, anapplication download server, a second network server, and the storedapplication database.

FIG. 3 is a file tree illustrating an exemplary file structure residenton the computer platform of the wireless device.

FIG. 4 illustrates the download server dataset update summary file andwireless device dataset version summary file, which are compared todetermine if new versions of wireless device resident datasets arepresent on the download server.

FIG. 5 is a flowchart illustrating the process executing on the wirelessdevice in updating the wireless device resident datasets with newerversions present on a download server when the wireless device initiallycontacts the download server.

FIG. 6 is a flowchart illustrating the process executing on the downloadserver in maintaining the most recent version of the download serverresident datasets in the update summary file.

DETAILED DESCRIPTION OF THE INVENTION Introduction

Systems and methods are anticipated that provide for the downloading ofsoftware applications to a wireless device. Software applications cancome pre-loaded at the time the wireless device is manufactured, or theuser may later request that additional programs be downloaded overcellular telecommunication carrier networks, where the programs areexecutable on the wireless device. As a result, users of wirelessdevices can customize their wireless devices with programs, such asgames, printed media, stock updates, news, or any other type ofinformation or program available for download from application downloadservers through the wireless network.

In one scenario, if the user of the wireless device desires to downloadand use a software application or other data using a wireless network,the user will typically either call a service provider or contact theservice provider through other means, such as through an Internetaccess, and the service provider will either transmit the application ordata to the wireless device across the wireless network or allow theuser access a network site where the application or data is downloadableor accessible. To connect to the application download server, thewireless device bridges a communication connection to the wirelessnetwork, such as a cellular network, and then attempts to contact anapplication download server where the desired software application isresident. Once the wireless device contacts the application downloadserver, an initial connection is made and the application downloadserver determines what applications and data are available to thewireless device and sends the appropriate information, such as a menu,for display on the wireless device so the user can learn of theavailable applications and data. After access is provided to thedownloadable applications, the user of the wireless device can downloador any of the available applications or data.

A problem that may arise is that the version of the application or datathat the wireless device downloads to be resident thereupon can beupdated or altered at the application download server, and the wirelessdevice resident application or data has no simple manner to be likewiseupdated. The update problem is exacerbated as the wireless device doesnot always communicate with the application download server every timethe wireless device bridges a communication to the wireless network.Because the communication connection from the wireless device to theapplication download server can be expensive (especially in a cellularnetwork), it is otherwise very expensive for the wireless device toperiodically connect to the application download server and check formore recent version of application or software. Furthermore, while eachwireless device resident application or data can be checked against itsparallel version resident on the download server every time a connectionis made to the download server, such checking would lengthen theconnection time and cause more expense to the wireless device owner.

Accordingly, systems and methods consistent with the present inventioninclude updating applications and data resident on a wireless devicewith the most recent version stored on a download server that thewireless device is connected to. Such systems and methods should be ableto determine if more recent versions of the wireless device residentapplications and data are present on the download server withoutsignificantly lengthening the connection duration in order to effect afull comparison of all wireless device resident applications and data.It is thus to the provision of such a system and method of checking andupdating wireless device resident applications and data that the presentinvention is primarily directed.

It is an object to provide systems and methods whereby the datasets,such as applications, information and other data, resident on a wirelessdevice can be updated with the most recent version of the datasetresident on a download server that the wireless device is connected to.The present invention allows a rapid determination as to whether morerecent versions of the wireless device resident datasets are present onthe download server, and such determination does not significantlylengthen the connection duration between the wireless device anddownload server. The present invention thus provides an advantage inthat it gives a wireless device the ability to quickly execute a fullcomparison of dataset versions with a download server and download anynewer version of a wireless device resident dataset.

Exemplary Embodiment of the Present Invention

With reference to the figures in which like numerals represent likeelements throughout, FIG. 1 illustrates an embodiment of a system 10 forproviding subscribed software applications to one or more wirelessdevices, such as cellular telephone 12, in communication across awireless network 14 with at least one network server, such asapplication download server 16, that selectively downloads or providedaccess to software applications or other data to the wireless devicesacross a wireless communication portal or other data access to thewireless network 14. As shown here, the wireless device can be acellular telephone 12, a personal digital assistant 18, a pager 20,which is shown here as a two-way text pager, or even a separate computerplatform 22 that has a wireless communication portal, and may otherwisehave a wired connection 24 to a network or the Internet. The system 10can thus be performed on any form of remote computer module including awireless communication portal, including without limitation, wirelessmodems, PCMCIA cards, access terminals, personal computers, accessterminals, telephones without a display or keypad, or any combination orsub-combination thereof.

The application download server 16 is shown here on a local server-sidenetwork 26 with other computer elements in communication with thewireless network 14, such as a database 28 with stored applications anddata that contains software applications and data that are accessibleand downloadable to the wireless devices 12,18,20,22. There is alsoshown other network servers, such as server 30 and stand-alone networkserver 32. The server 30 and 32 can be application or data downloadservers, or other types of servers that interact with the wirelessdevices 12,18,20,22 as are known in the art. The servers 16,30,32 mayhave software applications, patches, files, keys, graphics data,compression algorithms, and any type of general data, collectivelyreferred to hereinafter as “datasets,” resident thereupon that can beaccessed by the wireless devices 12,18,20,22 as is further describedherein. It should be noted that server-side functions as describedherein can be performed on one server, such as application downloadserver 16. Further, a computer server-side computer platform can provideseparate services and processes to the wireless devices 12,18,20,22across the wireless network 14.

FIG. 2 is a block diagram that more fully illustrates the components ofthe wireless network 14 and interrelation of the elements of the system10. The wireless network 14 is merely exemplary and can include anysystem whereby remote modules, such as wireless devices 12,18,20,22,communicate over-the-air between and among each other and/or between andamong components of a wireless network 14, including, withoutlimitation, wireless network carriers and/or servers, as well asincluding a non-wireless network alone or in combination with a wirelessnetwork. The application download server 16 and the stored applicationsdatabase 28, other servers 30,32, will be present on the cellular datanetwork with any other components that are needed to provide cellulartelecommunication services. The application download server 16, and/orother servers 30,32 communicate with a carrier network 40, through adata link, such as the Internet, a secure LAN, WAN, or other network.The carrier network 40 controls messages (generally being data packets)sent to a messaging service controller (“MSC”) 42. The carrier network40 communicates with the MSC 42 by a network, the Internet and/or POTS(“plain ordinary telephone system”). Typically, the network or Internetconnection between the carrier network 40 and the MSC 42 transfers data,and the POTS transfers voice information. The MSC 42 is connected tomultiple base stations (“BTS”) 44. In a similar manner to the carriernetwork, the MSC 42 is typically connected to the BTS 44 by both thenetwork and/or Internet for data transfer and POTS for voiceinformation. The BTS 44 ultimately broadcasts messages wirelessly to thewireless devices, such as cellular telephone 12, by short messagingservice (“SMS”), or other over-the-air methods known in the art.

The wireless device, such as cellular telephone 12, has a computerplatform 50 that can receive and execute software applications anddisplay data transmitted from the application download server 16 orother network servers 30,32. The computer platform 50 may also includean application-specific integrated circuit (“ASIC”) 52, or otherprocessor, microprocessor, logic circuit, or other data processingdevice. The ASIC 52 or other processor executes the applicationprogramming interface (“API”) layer 54 that interfaces with any residentprograms in the memory 56 of the wireless device. The memory can becomprised of read-only or random-access memory (RAM and ROM), EPROM,EEPROM, flash cards, or any memory common to computer platforms. Thecomputer platform 50 also includes a local database 58 that can hold thesoftware applications, file, or data not actively used in memory 56,such as the software applications or downloaded from the applicationdownload server 16. The local database 58 is typically comprised of oneor more flash memory cells, but can be any secondary or tertiary storagedevice as known in the art, such as magnetic media, EPROM, EEPROM,optical media, tape, or soft or hard disk.

The wireless device, such as cellular telephone 12, can access anddownload many types of applications, such as games and stock monitors,or simply data such as news and sports-related data. The downloaded datacan be immediately displayed on the display or stored in the localdatabase 58 when not in use. The software applications can be treated asa regular software application resident on the wireless device12,18,20,22, and the user of the wireless device can selectively uploadstored resident applications from the local database 58 to memory 56 forexecution on the API 56. The end-user of the wireless device 12,18,20,22can also selectively delete a software application from the localdatabase 58 whereby other applications and data can be downloaded intothe cleared storage space.

With reference to FIG. 3, the computer platform 50 of the wirelessdevice (such as cellular telephone 12) will have a data or filestructure resident thereon. The category Files 60 within it the API filecalled BREW 62, representing the API in the platform, in this case theBREW™ API developed by QUALCOMM®, Incorporated, and BREW 62 contains anapplications file 64 with a specific chess game held in a chess folder66. All of these files can be “versioned” wherein updates to the data ineach file give the file a different version to identify what changeshave been made in the data. The server, such as application downloadserver 16, will keep its own resident copy of the application and datafiles such that a wireless device 12,18,20,22 contacting the server candownload copies of the applications and data to selectively overwritethe wireless device resident copy.

The present invention allows the creation of “summary files” of theversions of some or all datasets resident on the wireless device12,18,20,22 or download server, such as application download server 16.As shown in FIG. 4, the download server 16,30,32 preferably maintains adownload server dataset update summary file 70, and the wireless device12,18,20,22 will maintain wireless device dataset version summary file72 that contain or reference some or all files on the server or computerplatform 50 respectively.

The system 10 thus selectively updates the versions of stored datasetson a wireless device 12,18,20,22 attempting to communicate with at leastone download server (application download server 16) across the wirelessnetwork 14, through the computer platform 50 of the wireless devicecomparing the version of each specific resident dataset listed in theresident dataset version summary file 72 with the version of thedownloadable dataset resident on the download server, preferably storedin a download server dataset update summary 70, to thereby determine ifthe version of the wireless device resident dataset is different fromthe version of the download server resident dataset. And upondetermining the version of the wireless device resident dataset isdifferent from the version of the download server resident dataset, thecomputer platform 50 of the wireless device can download the downloadserver resident dataset to overwrite the old version of the applicationor data resident and be executable on the wireless device 12,18,20,22.Other methods can be used on the download server 16,20,32 to provideversion information to wireless devices 12,18,20,22, such as a headerfor each dataset file, a direct comparison of the dataset after apredetermined duration since download, or a command can be present inthe wireless device-download server handshake that informs the wirelessdevice to compare a specific dataset to determine if the wireless devicehas the most recent version.

The download server dataset update summary file 70 can identify theversions of files or datasets resident on the download server, such as agraphics data that is present in a welcome screen file, device driverssuch as a graphics driver file, and the chess file 66. The wirelessdevice dataset version summary file 72 has parallel files to thoseresident on the download server dataset update summary file 70 and cancompare each version of the datasets through a simple file comparisonbetween the download server dataset update summary file 70 and thewireless device dataset version summary file 72 and locate differentversion numbers. The summary files 70 and 72 are shown here as having agreater number indicating a more recent version of the dataset. Othersystems and method could be used to indicate the version difference aswould be known in the art, such as an alphanumeric or other symbolicsystem that is predefined such that the computer platform 50 of thewireless device 12,18,20,22 can determine if an individual downloadserver resident dataset is a newer version than the wireless deviceresident dataset.

In the structure shown in FIG. 4, if a version number of the downloadserver resident dataset is greater than the version number of thewireless device resident dataset, then the computer platform 50 of thewireless device 12,18,20,22 will download the newer version of thedataset from the download server 16,30,32. After it has been determinedthat a newer dataset version is on the download server, the computerplatform 50 of the wireless device 12,18,20,22 can prompt the user ofthe wireless device 12,18,20,22 to communicate with the download serverto download the different version of the download server residentdataset to be executable on the wireless device. The prompting of theuser to make the communication may be important in certaincircumstances, such as if the owner of the wireless device 12,18,20,22will be billed for the communication connection. Otherwise, upon thedetermination that the version of the wireless device resident datasetis different from the version of the download server resident dataset,the computer platform 50 of the wireless device 12,18,20,22 canautomatically download the different download server resident dataset tooverwrite the wireless device resident dataset.

The specific process executing on the wireless device, such as cellulartelephone 12, is shown in the flowchart of FIG. 5. The wireless device12,18,20,22 bridges a connection to an application download server 16(or other network server) as shown in step 80, and then determinewhether there is a download server version dataset update summary file70 present, as shown by decision 82. If the download server keeps trackof changes to resident dataset versions in a manner other than an updatesummary file 70, then decision 82 would be made in accord with the othermethod. If there is not a download server dataset update summary file 70present at decision 82 (or other version comparison method present),then the connection to the application download server 16 is otherwisecompleted, and the version update process is terminated. If there is adownload server dataset update summary file 70 present at decision 82,then the download server dataset update summary file 70 is retrieved bythe wireless device 12,18,20,22 as shown at step 86, and the firstparallel dataset version for which the wireless device has a residentcopy of is fetched, as shown at step 88.

A determination is then made as to whether the download server residentdataset is a more recent version than the wireless device residentdataset, as shown at decision 90. If the download server dataset is notmore recent at decision 90, then the process returns to step 88 to fetchthe next download server resident dataset version. If the downloadserver resident dataset is a more recent version at decision 90, thenthe wireless device downloads to the computer platform 50 the morerecent version of the dataset from the download server, as shown at step92. A check is made to determine if the more recent version of thedataset was downloaded, as shown at decision 94. If the more recentversion of the dataset was not downloaded at decision 92, then the userof the wireless device is informed of the failure to download the morerecent dataset version, as shown at step 96, and the process continuesto decision 98. Otherwise, if the more recent dataset version wasdownloaded at decision 94, then a determination is made as to whetherthere are any further datasets resident on the download server that areparallel to datasets resident on the wireless device 12,18,20,22, asshown at decision 98.

If there are more parallel datasets on the download server at decision98, then the process returns to step 88 wherein another paralleldownload server resident dataset is fetched. If there are no furtherparallel download server resident datasets present at decision 98, thenthe downloaded datasets are installed and integrated on the computerplatform 50 of the wireless device 12,18,20,22 as shown at step 100, andthe interconnection between the wireless device and application downloadserver 16 is begun, as shown at step 102. The interconnection betweenthe wireless device and download server typically provides a menu orother data connectivity therebetween. After the interconnection is begunat step 102, the version update process is terminated.

FIG. 6 illustrates the process executing on the download server 16,30,32to insure that the download server dataset update summary file 70 hasthe most current version information. A sub-routine executing on thedownload server 16,30,32 makes a first determination as to whether thedownload server resident dataset has been updated, as shown at decision104. If the resident dataset has not been updated, then the processenters a wait state by returning to decision 104, until a residentdataset is updated. Otherwise, if the resident dataset has been updatedat decision 104, then a decision is made as to whether the version ofthe dataset as listed in the download server dataset update summaryrequires updating, as shown at decision 106. If the version of theresident dataset does not require updating, then the process returns tothe wait state at decision 106 until an update is made to residentdatasets. And if the version of the resident dataset has changed atdecision 106, then the version of the dataset in the download serverdataset update summary 70 is overwritten so that connecting wirelessdevices 12,18,20,22 will be able to learn and download the newer versionof the dataset.

The system 10 thus provides a method for selectively updating theversions of stored datasets on a wireless device 12,18,20,22 includingcommunicating from the wireless device 12,18,20,22 to the downloadserver 16,30,32 across the wireless network 14, comparing, at thecomputer platform 50 of the wireless device, the version of eachspecific resident dataset listed in the resident dataset version summaryfile 72 with the version of the downloadable dataset resident on thedownload server 16,20,22, and determining if the version of the wirelessdevice resident dataset is different from the version of the downloadserver resident dataset based upon the comparison. The method mayfurther include downloading the different download server residentdataset to the computer platform 50 of the wireless device 12,18,20,22from the download server 16,20,22 to be executable on the wirelessdevice upon determining the version of the wireless device residentdataset is different from the version of the download server residentdataset.

If the download server 16,30,32 stores the record indicating the versionof the download server resident dataset in a version update file 70 thestep of comparing, at the computer platform 50 of the wireless device12,18,20,22, the version of each specific resident dataset listed in theresident dataset version summary file 72 with the version of thedownloadable dataset resident on the download server, is comparing theupdate summary file 70 of the download server to the version summaryfile 72 of the wireless device to thereby determine if the versions ofthe wireless device resident datasets are different from the versions ofthe download server resident datasets. The method can also includeeither prompting the user of the wireless device 12,18,20,22 tocommunicate with the download server 16,30,32 to download the differentversion of the download server resident dataset to be executable on thewireless device, or automatically downloading the different downloadserver resident dataset to the computer platform 50 of the wirelessdevice upon determining the download server resident dataset is adifferent version than the wireless device resident dataset.

The invention further includes a wireless device 12,18,20,22 including acomputer platform 50 with at least one file resident thereon where thewireless device 12,18,20,22 in selective communication to one or morenetwork servers across a wireless network 14 with each network serverselectively downloading datasets to the wireless device 12,18,20,22.Upon the wireless device 12,18,20,22 attempting to communicate with adownload server 16,30,32 across the wireless network 13, the computerplatform 50 of the wireless device compares the version of each specificresident dataset listed in the resident dataset version summary file 72with the version of the downloadable dataset resident on the downloadserver 16,30,32 to thereby determine if the version of the wirelessdevice resident dataset is different from the version of the downloadserver resident dataset. Preferably, upon determining the version of thewireless device resident dataset is different from the version of thedownload server resident dataset, the computer platform 50 of thewireless device downloads the download server resident dataset. Thecomputer platform 50 of the wireless device can prompt the user of thewireless device 12,18,20,22 to communicate with the download server16,30,32 to download the different version of the download serverresident dataset, or automatically download the different downloadserver resident dataset to be executable on the wireless device12,18,20,22.

In one embodiment with an update summary file 70 resident on thedownload server, the computer platform 50 of the wireless device12,18,20,22 compares the update summary file 70 of the download serverto the version summary file 72 of the wireless device to therebydetermine if the versions of the wireless device resident datasets aredifferent from the versions of the download server resident datasets.

The present invention includes a program resident in a computer readablemedium, where the program directs a wireless device having a computerplatform to perform the inventive steps of the method. The computerreadable medium can be the memory 56 of the computer platform 50 of thecellular telephone 12, or other wireless device 18,20,22, or can be in alocal database, such as local database 58 of the cellular telephone 12.Further, the computer readable medium can be in a secondary storagemedia that is loadable onto a wireless device computer platform, such asa magnetic disk or tape, optical disk, hard disk, flash memory, or otherstorage media as is known in the art.

The present invention may be implemented, for example, by operatingportion(s) of the wireless network 14 to execute a sequence ofmachine-readable instructions, such as wireless platform 50, theapplication download server 16, and any other network server 30,32. Theinstructions can reside in various types of signal-bearing or datastorage primary, secondary, or tertiary media. The media may comprise,for example, RAM (not shown) accessible by, or residing within, thecomponents of the wireless network 14. Whether contained in RAM, adiskette, or other secondary storage media, the instructions may bestored on a variety of machine-readable data storage media, such as DASDstorage (e.g., a conventional “hard drive” or a RAID array), magnetictape, electronic read-only memory (e.g., ROM, EPROM, or EEPROM), flashmemory cards, an optical storage device (e.g. CD-ROM, WORM, DVD, digitaloptical tape), paper “punch” cards, or other suitable data storage mediaincluding digital and analog transmission media.

While the foregoing disclosure shows illustrative embodiments of theinvention, it should be noted that various changes and modificationscould be made herein without departing from the scope of the inventionas defined by the appended claims. Furthermore, although elements of theinvention may be described or claimed in the singular, the plural iscontemplated unless limitation to the singular is explicitly stated.

What is claimed is:
 1. A system for selectively updating the versions ofstored datasets on a wireless device, comprising: one or more wirelessdevices, each wireless device including a computer platform and inselective communication to a wireless network and downloading datasetsfrom download servers across the wireless network to the computerplatform of the wireless device, and the computer platform of thewireless device further including a resident dataset version summaryfile that at least identifies the version of each resident dataset; andone or more download servers in selective communication to the wirelessnetwork, and each download server selectively in communication with theone or more wireless devices and selectively downloading datasetsthereto, each download server selectively updating one or more residentdatasets that are selectively downloadable to wireless devices andrecording the version of each specific updated dataset, wherein, upon awireless device attempting to communicate with at least one downloadserver across the wireless network, the computer platform of thewireless device comparing the version of each specific resident datasetlisted in the resident dataset version summary file with the version ofthe downloadable dataset resident on the download server to therebydetermine if the version of the wireless device resident dataset isdifferent from the version of the download server resident dataset.